package com.xndc.netty.iec104.model;

import lombok.Data;

import java.util.ArrayList;
import java.util.List;

/**
 * 应用服务数据单元
 */
@Data
public class ASDU {
    
    /**
     * 类型标识
     */
    private byte typeId;
    
    /**
     * 可变结构限定词
     */
    private byte vsq;
    
    /**
     * 传送原因
     */
    private byte cot;
    
    /**
     * 测试位
     */
    private boolean test;
    
    /**
     * 否定确认位
     */
    private boolean negative;
    
    /**
     * 源地址
     */
    private short originatorAddress;
    
    /**
     * 公共地址
     */
    private short commonAddress;
    
    /**
     * 信息对象列表
     */
    private List<InformationObject> informationObjects = new ArrayList<>();
    
    @Override
    public String toString() {
        return "ASDU{" +
                "typeId=" + typeId +
                ", cot=" + cot +
                ", commonAddress=" + commonAddress +
                ", objects=" + informationObjects.size() +
                '}';
    }
} 